#pragma once

/** the available logical fonts (default is k_roman)
 */
enum KeFontType
{
	k_roman = 0,       /* roman font, e.g. <code>\\rm{}</code> */
	k_sans,        /* sans-serif font, e.g. <code>\\sf{}</code> */
	k_math_roman,   /* math-mode roman font, e.g. <code>\\mathrm{}</code> */
	k_math_sans,    /* math-mode sans-serif font, e.g. <code>\\mathsf{}</code> */
	k_typewriter,  /* typewriter font, e.g. <code>\\tt{},\\mathtt{}</code> */
	k_script,      /* script font, e.g. <code>\\script{},\\mathscript{}</code> */
	k_blackboard,  /* blackboard font, e.g. <code>\\mathbb{}</code> */
	k_caligraphic, /* caligraphic font, e.g. <code>\\mathcal{}</code> */
	k_fraktur,     /* fraktur font, e.g. <code>\\mathfrak{}</code> */
	k_fallback_symbols, /* symbol font */

	k_current_font,  /* internal enum value that specifies that the currently set font shall be used \internal */
	k_custom_font,  /* internal enum value that specifies that a custom font specified elsewhere shall be used \internal */

	k_font_type_count = k_current_font
};


/** used to specify the font encoding used for drawing
*/
enum KeFontEncoding
{
    k_win_symbol = 0,     /* This assumes that symbols shall be taken from a MS Windows style Symbol font */
    k_unicode,        /* This assumes that symbols shall be taken from a Unicode font, which ideally offers full symbol support  (e.g. the XITS fonts, STIX fonts from <a href="http://www.stixfonts.org/">http://www.stixfonts.org/</a>)*/
    k_latin1,         /* the encoding of a standard Latin1 TTF font (i.e. we can only expect letters,number and not many special characters) */
    k_standard = k_latin1,
    k_font_encoding_count
};